package tasktracker.core.abstraction;

import java.util.Date;
import java.util.Map;

import tasktracker.abstraction.TaskInfo;

public class FrameworkTrackedTask {

	private String guid;
	private String name;
	private String owner;
	private String trackerName;
	private String inputPath;
	private String outputPath;
	private Map<String, String> properties;
	private int status;
	private String primaryResult;
	private String secondaryResult;
	private Date createdDateTimeUtc;
	private Date startedDateTimeUtc;
	private Date completedDateTimeUtc;

	public TaskInfo toTaskInfo() {
		TaskInfo info = new TaskInfo(guid);
		info.setInputPath(inputPath);
		info.setOutputPath(outputPath);
		info.setStatus(status);
		info.getProperties().putAll(properties);
		return info;
	}

	public String getGuid() {
		return guid;
	}

	public void setGuid(String guid) {
		this.guid = guid;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public String getTrackerName() {
		return trackerName;
	}

	public void setTrackerName(String trackerName) {
		this.trackerName = trackerName;
	}

	public String getInputPath() {
		return inputPath;
	}

	public void setInputPath(String inputPath) {
		this.inputPath = inputPath;
	}

	public String getOutputPath() {
		return outputPath;
	}

	public void setOutputPath(String outputPath) {
		this.outputPath = outputPath;
	}

	public Map<String, String> getProperties() {
		return properties;
	}

	public void setProperties(Map<String, String> properties) {
		this.properties = properties;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getPrimaryResult() {
		return primaryResult;
	}

	public void setPrimaryResult(String primaryResult) {
		this.primaryResult = primaryResult;
	}

	public String getSecondaryResult() {
		return secondaryResult;
	}

	public void setSecondaryResult(String secondaryResult) {
		this.secondaryResult = secondaryResult;
	}

	public Date getCreatedDateTimeUtc() {
		return createdDateTimeUtc;
	}

	public void setCreatedDateTimeUtc(Date createdDateTimeUtc) {
		this.createdDateTimeUtc = createdDateTimeUtc;
	}

	public Date getStartedDateTimeUtc() {
		return startedDateTimeUtc;
	}

	public void setStartedDateTimeUtc(Date startedDateTimeUtc) {
		this.startedDateTimeUtc = startedDateTimeUtc;
	}

	public Date getCompletedDateTimeUtc() {
		return completedDateTimeUtc;
	}

	public void setCompletedDateTimeUtc(Date completedDateTimeUtc) {
		this.completedDateTimeUtc = completedDateTimeUtc;
	}


}
